;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

	g_wattValue[0] = in_value;
        int32_t out_value = g_wattValue[0];

<impl.1>
send
rxwait->
 rxcb
<-
rxcheck


<impl.2>
rxtask(prio + 1):             txtask
 for(){
 sema_wait
  <-sema_post               <-rxreq

dma_rx_block
**block                  -->resume
                            send()
   <-interrupt-dma-done
<-return
                            sema_wait
sema_post->
                            sema_posted
 goto begin
                            process rx data
@@ -109,8 +105,6 @@
  * (node) has the property to be get or set.
  */
 static const PropHandlerEntry GetSetPropHandlers[] = {
-    { APP__0__1_AJ_PROP_GET, PropGetHandler, (void*)PropHandlers_AJSensor_Camera },
-    { APP__0__1_AJ_PROP_SET, PropSetHandler, (void*)PropHandlers_AJSensor_Camera },
     { APP__1__1_AJ_PROP_GET, PropGetHandler, (void*)PropHandlers_AJSensor_MotionSensor },
     { APP__1__1_AJ_PROP_SET, PropSetHandler, (void*)PropHandlers_AJSensor_MotionSensor },
     { APP__2__1_AJ_PROP_GET, PropGetHandler, (void*)PropHandlers_AJSensor_WaterDetector },



method.takeapic

unmarshal
getdatacount(sz, blocksz)
for(i = 0; i < ; i++) {
      getdata(i)
      senddata()
}


#if 1
	// normal way for short arrays:
	//  AJ_InitArg-> AJ_MarshalArg (send actual data..)--> AJ_DeliverMsg (finalize)

	// for long arrays:
	//  

	
        //status = AJ_MarshalArgs(&msg, "u", current_signal_number);    // arg1, 'u'
        //status = AJ_DeliverMsgPartial(&msg, sizeof(uint32_t) + array_size); 
        //status = AJ_MarshalRaw(&msg, &array_size, sizeof(uint32_t));  //'ay'
        //status = AJ_MarshalRaw(&msg, &data, 1);
	//        ...
        //status = AJ_DeliverMsg(&msg);

	///////

	
        //caller: AJ_MarshalReplyMsg(.., &reply(=ajcgMsg));

        AJ_InitArg(&array0, 'y', AJ_ARRAY_FLAG, out_value, out_valueElements * sizeof(*out_value));

        status = AJ_DeliverMsgPartial(&msg, totaldatalength);
        ajcgStatus = AJ_MarshalArg(ajcgMsg, &array0);

        //caller: if(status != AJ_OK ) {
	//  AJ_MarshalStatusMsg(msg, &reply, status);
        //}
	//caller: return AJ_DeliverMsg(&reply);

#endif	



3 900-1200
2 13-15
2 16-18
2 20-22

-1
-1


#include <ajtcl/services/Common/ConstraintList.h>
#include <ajtcl/services/ControlPanelService.h>

#include <ajtcl/services/Widgets/ActionWidget.h>
#include <ajtcl/services/Widgets/PropertyWidget.h>
#include <ajtcl/services/Widgets/ContainerWidget.h>
#include <ajtcl/services/Widgets/LabelWidget.h>
#include <ajtcl/services/Widgets/DialogWidget.h>
#include <ajtcl/services/Common/HttpControl.h>
#include <ajtcl/services/ServicesCommon.h>
